МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
Кафедра ЕОМ
Звіт
до лабораторної роботи №1-4
з дисципліни
" Периферійні Пристрої "
На тему «Передача даних через COM-порт»
Мета роботи: ознайомитися з процесом передачі даних через послідовний інтерфейс RS-232C (COM-порт).
Теоретичні відомості
Асинхронний послідовний інтерфейс – це основний тип інтерфейсу, за допомогою якого здійснюється передача даних між комп’ютерами. Термін асинхроний означає, що при передачі даних не використовуються ніякі синхронізуючі сигнали, і окремі символи можуть передаватись з випадковими інтервалами, як, наприклад при вводі даних з клавіатури.
Кожному символу, який передається через послідовне з’єднання, мусить передувати стандартний стартовий сигнал, а завершувати його передачу – стоповий сигнал. Стартовий сигнал – це нулевий біт, його ще називають стартовим бітом. Його призначення – повідомити пристою, який приймає дані про те, що наступні вісім бітів представляють собою байт даних. Після символа передаються один чи два стопових біта, які дають сигнал про закінчення передачі символа. В пристрої який приймає дані, символи розпізнаються по появі стартових і стопових сигналів, а не по моменту їх передачі. Асинхроний інтерфейс орієнтований на передачу символів (байтів), а при передачі використовується приблизно 20% інформації тільки для ідентифікації кожного символа.
Термін послідовний означає, що передача даних виконується по одиночному провіднику, а біти передаються послідовно один за другим. Такий тип зв’язку характерний для телефонної мережі, в якій кожний напрямок обслуговує один провідник. Багато компаній випускають доповняльні послідовні порти для комп’ютерів, звичайно ті порти встановлюються на багатофункціональних платах чи на платі з паралельним портом. На рисунку 1, показано стандартний 9-контактний роз’єм послідовного порта:
/
Рис.1 Роз’єм послідовного порту
До послідовного порта можна підключити самі різноманітні пристрої: модеми, плотери, принтери, інші комп’ютери, пристрої зчитування штрих-кодів, схему керування пристроями чи макетну плату. В основному у всіх пристроях, для яких потрібен двонапрямлений зв’язок з комп’ютером, використовується порт, який став стандартом – RS-232C (Reference Standard number 232 version C – стандарт обміну номер 232 версії С), який позволяє передавати дані між несумісними пристроями.
Рис. 3 Розташування контактів роз’ємів DB25P та DB9P
Найменування
Напрям
Опис
Контакт(25-контактний роз'єм DB25P )
Контакт(9-контактний роз'єм DB9P)
DCD
IN
Carrie Detect (Визначення несучої)
8
1
- RXD
IN
Receive Data (Дані, що приймаються)
3
2
- TXD
OUT
Transmit Data (Дані, що передаються)
2
3
DTR
OUT
Data Terminal Ready (Готовність терміналу)
20
4
GND
-
System Ground (Корпус системи)
7
5
DSR
IN
Data Set Ready (Готовність даних)
6
6
RTS
OUT
Request to Send (Запит на відправку)
4
7
CTS
IN
Clear to Send (Готовність прийому)
5
8
RI
IN
Ring Indicator (Індикатор)
22
9
Завдання на лабораторну роботу
Написати програму, яка б організовувала передачу даних через СОМ-порт між двома комп’ютерами. Програма повинна складатися з двох частин: програми-передавача та програми-приймача, які розміщуються відповідно на комп’ютері, що передає дані та на комп’ютері, що їх приймає.
Текст програми
Передавач
// SenderVoiparovskuiDlg.cpp : implementation file
//
#include "stdafx.h"
#include "SenderVoiparovskui.h"
#include "SenderVoiparovskuiDlg.h"
#include "afxdialogex.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
HANDLE PortName;
char*rt;
int i = 0;
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialogEx
{
public:
CAboutDlg();
// Dialog Data
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Implementation
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD)
{
}
...